
import { AbstractProgramNode } from '../abs';
import { AbstractVariableUnitNode } from '../vu/abs-vu';


export interface AbstractDataProcessUnitNode extends AbstractProgramNode {
  entryParamTypeList?: symbol[];
  exitParamTypeList?: symbol[];
  inputRefStack?: Array<AbstractVariableUnitNode<any> | AbstractDataProcessUnitNode>;
  middleRefStack?: Array<AbstractVariableUnitNode<any>>;
  outputRefStack?: Array<AbstractVariableUnitNode<any>>;
  importPath?: string;
}
export interface AbstractNativeDataProcessUnitNode extends AbstractDataProcessUnitNode {
  refFunc: symbol;
  isInner: boolean;
}
export interface AbstractYoDataProcessUnitNode extends AbstractDataProcessUnitNode {
  executeStack: Array<AbstractDataProcessUnitNode>;
}

